// ----------------------------------------------------------------------------
// serialize_status.h
// ----------------------------------------------------------------------------
#pragma once

namespace fw
{
	enum SerializeStatus
	{
		kStatus_Ok = 0,
		kStatus_ErrorMustCallFixUp,
		kStatus_ErrorNodeNotFound,
		kStatus_ErrorFormat,
	};
	
	template<typename T> struct SerializeStatusResult
	{
		T				m_result;
		SerializeStatus	m_status;
		
		SerializeStatusResult(T result)
		: m_result(result)
		, m_status(kStatus_Ok)
		{
		}
		
		SerializeStatusResult(T result, SerializeStatus status)
		: m_result(result)
		, m_status(status)
		{
		}
		
	}; // struct SerializeStatusResult
	
} // namespace fw
